package com.duobaoyu.dby.supply.common.biz.vo.refund;

import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;

/**
 * @author jz
 * @version 1.0
 * @date 2022/6/5 17:55
 */
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Data
public class AfterSaleListVO {
	/**
	 * 售后订单号
	 */
	private String afterSaleSn;
	/**
	 * 渠道售后单号
	 */
	private String channelAfterSaleSn;
	/**
	 * 渠道售后单号
	 */
	private String bizAfterSaleSn;
	/**
	 * 图标
	 */
	private String serverName;
	/**
	 * 实际展示系统来源
	 */
	private String showServerName;
	private String orderSn;
	private String failReason;
	/**
	 * 描述：渠道实付金额
	 */
	private BigDecimal channelActualPaidAmount;
	/**
	 * 描述：渠道申请金额
	 */
	private BigDecimal applyRefundAmount;
	/**
	 * 描述：渠道退款金额
	 */
	private BigDecimal channelActualRefundAmount;
	/**
	 * 描述：渠道申请退款运费
	 */
	private BigDecimal freightApplyRefundAmount;
	/**
	 * 渠道code
	 */
	private String channelCode;
	/**
	 * 渠道code描述
	 */
	private String channelCodeDesc;

	/**
	 * 渠道订单号
	 */
	private String channelOrderSn;

	/**
	 * 商品售后状态
	 */
	private Integer status;
	/**
	 * 售后状态说明
	 */
	private String statusDesc;
	/**
	 * 售后类型
	 */
	private Integer afterSaleType;
	/**
	 * 售后类型说明
	 */
	private String afterSaleTypeDesc;
	/**
	 * 售后金额
	 */
	private BigDecimal applyPrice;
	/**
	 * 售后原因
	 */
	@ApiModelProperty(value = "售后原因")
	private String reasonName;

	/**
	 * 申请数量
	 */
	private Integer applyNum;

	private Boolean showDealButton = Boolean.FALSE;

	/**
	 * 1：审核、2：驳回确认 3：重新提交 4：地址回填 5：退款处理
	 * @see com.duobaoyu.dby.supply.common.biz.enums.ButtonTypeEnum
	 */
	private List<Integer> buttonType;
	/**
	 * @see com.duobaoyu.dby.supply.common.biz.enums.AuditAgreeTypeEnum
	 */
	private Integer agreeType;
	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;
	/**
	 * 描述：售后来源 0 用户申请 1 运营申请 2 系统自动生成
	 */
	private Integer afterSaleSource;
}
